package com.dragon.modules.yuegou.mapper.message;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dragon.modules.yuegou.entity.message.MessageEntity;
import com.dragon.modules.yuegou.model.message.Message;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 消息 Mapper接口
 *
 * @author pbuilder generated
 * @date 2019-03-18 13:46:09
 * @version 2.0
 */
@Component("msgMessageMapper")
public interface MessageMapper extends BaseMapper<MessageEntity> {

	/**
	 * 查询发送消息给该会员的Id
	 * */
	List<String> memberIdList(String id);

	/**
	 * 查询发送消息给该会员的Id（未被该会员删除的）
	 * */
	List<String> memberIdListNotDel(String id);

	/**
	 * 分页查询对话列表
	 * @param jsonPage 
	 * */
	IPage<Message> dialogueMsg(IPage<Message> jsonPage, @Param("fromId")String fromId, @Param("toId")String toId);

	/**
	 * 分页查询对话列表（未删除的）
	 * @param jsonPage
	 * */
	IPage<Message> dialogueMsgNotDel(IPage<Message> jsonPage, @Param("fromId")String fromId,@Param("toId")String toId);


	/**
	 * 查询对话列表
	 * */
	List<Message> dialogueMsg(@Param("fromId")String fromId,@Param("toId")String toId);

	/**
	 * 查询对话列表（未删除的消息）
	 * */
	List<Message> dialogueMsgNotDel(@Param("fromId")String fromId,@Param("toId")String toId);

	/**
	 * 查询消息列表
	 * */
	List<Message> messageRecord(@Param("toUser")String toUser,@Param("fromType")Integer fromType);

	/**
	 * 查询商户消息列表
	 * */
	List<Message> turnList(@Param("merchantId") String merchantId);

	/***
	 * 逻辑删除发送人是fromid  接收者是toid的消息
	 * @param fromId
	 * @param toId
	 */
	void delFormIdSend(@Param("fromId")String fromId, @Param("toId")String toId );


	/***
	 * 逻辑删除发送人是toId  接收者是fromId的消息
	 * @param fromId
	 * @param toId
	 */
	void delFormIdAccept(@Param("fromId")String fromId, @Param("toId")String toId );
}
